package com.mjf.spark.day03

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * 转换算子-filter
 *    接收一个返回值为Boolean类型的函数作为参数，对RDD中的元素进行过滤
 */
object Spark07_Transformation_filter {
  def main(args: Array[String]): Unit = {

    // 创建SparkConf配置文件
    val conf = new SparkConf().setMaster("local[*]").setAppName("Spark07_Transformation_filter")
    // 创建SparkContext对象
    val sc = new SparkContext(conf)

/*    val rdd: RDD[String] = sc.makeRDD(List("lucy", "jack", "xiaohong", "xiaoming", "shy"))

    // 返回所有包含 xiao 的元素
    val resRDD: RDD[String] = rdd.filter(_.contains("xiao"))*/

    val rdd: RDD[Int] = sc.makeRDD(List(1, 2, 3, 4, 5, 6, 7, 8, 9), 2)

    // 返回所有奇数元素
    val resRDD: RDD[Int] = rdd.filter(_ % 2 != 0)

    resRDD.collect().foreach(println)

    // 关闭连接
    sc. stop()

  }
}
